#include <iostream>
#include <thread>

/**
 * C++ Thread 类和函数
 *
 * thread 库包含了一系列的类和函数，用于创建、管理和同步线程。
 *
 * std::thread
 * std::mutex
 * std::lock_guard
 * std::unique_lock
 * std::condition_variable
 * std::future 和 std::promise
 * std::async
 *
 */
void print_hello(){
    std::cout << "Hello form threaded !" << std::endl;
}
int main() {
    /**
     * 1. std::thread 创建和管理线程
     * joint();   等待线程结束
     * detach();  将线程置于后台运行，不再等待线程结束
     * joinable(); 检查线程是否可被join 或 detach
     */
    std::thread t1(print_hello);
    t1.join();  //等待线程t1结束

    return 0;
}
